package com.example.javabasic.shejimoshi.muban.demo1;
//抽象类
public abstract class AbstractClass {
    //模板方法
    public void templateMethod(){
        specificMethod();
        if(hookMethod()){
            abstractMethod1();
        }else{
            abstractMethod2();
        }

    }
    //具体方法
    public void specificMethod(){
        System.out.println("抽象类中的具体方法 specificMethod() 被调用 ");
    }
    //抽象方法1
    public abstract void abstractMethod1();
    //抽象方法2
    public abstract void abstractMethod2();

    //钩子方法
    public boolean hookMethod(){
        return true;
    }
}
